function(copy_files_to_target)
    cmake_parse_arguments(
        PARSE_ARGV 0
        ARG
        ""
        "TARGET"
        "FILES"
    )
    foreach(FILE IN LISTS ARG_FILES)
        get_filename_component(FILE_NAME "${FILE}" NAME)
        set(TARGET_FILE_PATH "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${FILE_NAME}")
        get_filename_component(TARGET_FILE_PATH ${TARGET_FILE_PATH} ABSOLUTE)
        message(STATUS "Source FILE: ${TARGET_FILE_PATH}")
        if(NOT EXISTS "${TARGET_FILE_PATH}")
            add_custom_command(
                TARGET ${ARG_TARGET} POST_BUILD
                COMMAND ${CMAKE_COMMAND} -E copy_if_different
                    "${FILE}"
                    "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}"
                COMMENT "Copying FILE: ${TARGET_FILE_PATH}"
                VERBATIM
            )
        else()
            message(STATUS "Skipping ${FILE_NAME} (already exists in ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})")
        endif()
    endforeach()
endfunction()
